﻿#region ExcuteHalconProc_MultiThread_Execute.cs
// ============================================================================
// This region will be filled automatically with data if you are working
// for example with Microsoft SourceSafe
//
// Purpose:          
// Specifics: 
// 
// Creation date:    2024/5/27 14:19:50
// Created by:       hao.chen
//
// $Author:        $
// $Date:          $
// $Revision:      $
// $History:       $
// $NoKeywords:    $
// 
// Copyright:      © 2024 YourCompanyName
//                 All Rights Reserved
// ============================================================================
#endregion

using HalconDotNet;
using NeuroCheck.PlugInLib.Base;
using NeuroCheck.PlugInLib.ImageProcessing;
using System;

// TODO: Namespace - Modify the namespace to the project namespace
namespace CLVisionHalconNC620
{
    /// <summary>This class implements the execute code of the check function "ExcuteHalconProc_MultiThread"
    /// which is called by the execute method in file ExcuteHalconProc_MultiThread.cs.
    /// Because of this separation this class can be obfuscated.
    /// <remarks>If you don't use obfuscation just implement your execute code within the execute method
    /// in file "ExcuteHalconProc_MultiThread.cs" and delete this file from project.
    /// </remarks>
    /// </summary>
	public partial class ExcuteHalconProc_MultiThreadExecute
    {

        private ExcuteHalconProc_MultiThreadParameter m_Parameter;

        private NcPICheckFunctionExecutionArgs m_ExecutionArgs;

        HTupleVector outputHtuple = new HTupleVector(1);

        HObject[] outputHobj;



        public ExcuteHalconProc_MultiThreadExecute(NcPICheckFunctionExecutionArgs exeArgs, ExcuteHalconProc_MultiThreadParameter parameter)
        {
            m_ExecutionArgs = exeArgs;

            m_Parameter = parameter;

        }

      

        // TODO: Other - Modify the signature and summary
        /// <summary>Implements the execute functionality.
        /// </summary>
        /// <param name="imgInput">Input image.</param>
        /// <param name="isInAutomaticMode">Determines if this check function is currently executing in automatic mode.</param>
        /// <returns>Execution result as <c>NcPIExecutionResultInfo</c>.</returns>

        public NcPIExecutionResultInfo Execute(NcPIImage imgInput, NcPICheckFunctionBase ncPICheckFunctionBase, bool isInAutomaticMode)
        {
           
            return ExcuteHalcon_MultiThread.Excute(m_Parameter, ncPICheckFunctionBase);

        }


    } // end of class
}